using UnityEngine;
using UnityEngine.UI;

public class UI_ActiveItemIndicator : MonoBehaviour
{
    public static UI_ActiveItemIndicator Instance { get; private set;}
    // 建筑放置器
    [SerializeField]
    private BuildingPlacer _buildingPlacer;

    // 图标图片组件
    private Image _icon;

    // 在Awake中获取图标图片组件
    private void Awake()
    {
        Instance = this;
        _icon = GetComponent<Image>();
    }

    // 在Start中订阅建筑放置器的ActiveBuildableChanged事件
    private void Start()
    {
        OnActiveBuildableChanged();
    }

    // 当ActiveBuildableChanged事件被触发时调用此方法
    public void OnActiveBuildableChanged()
    {
        if (_buildingPlacer.ActiveBuildable != null)
        {
            // 如果当前活动的可建造物品不为空，则显示图标并设置图标精灵为可建造物品的UiIcon
            _icon.enabled = true;
            _icon.sprite = _buildingPlacer.ActiveBuildable.PreviewSprite;
        }
        else
        {
            // 如果当前活动的可建造物品为空，则隐藏图标
            _icon.enabled = false;
        }
    }
}

